#ifndef LIB_H_21122011
#define LIB_H_21122011

#include <string>
#include <vector>

#include "xpath_static.h"
#include "tinyxml.h"
#include "exception.hpp"

typedef std::vector< std::pair< TiXmlBase*, bool > > XMLNodeSet;


namespace utils
{

/**	Convert a string to a number
*
*	@param sInput - input string (the string we convert)
*/
int StringToNum( const std::string& sInput ) throw();

/**	Convert a string to a double
*
*	@param sInput - input string (the string we convert)
*/
double StringToDouble( const std::string& sInput) throw();

/**	Get current time
*
*
*/
std::string GetCurrentTimeString() throw();

/**	Get the last modification time of file
*
*	@param sFilePath - the file that we want to get its modification time
*/
time_t GetLastModificationTime( const std::string& sFilePath ) throw( Exception );

void GetXMLNodeSetAtPath(
    TiXmlNode* pRoot,
    const std::string& sXPath,
    XMLNodeSet& vecResult ) throw( std::exception );


} //namespace utils



#endif
